package xuanmu.office.excel.data.generator.util;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.UUID;

/**
 * 文件工具
 */
public final class FileUtils {

    /**
     * 根据文件夹路径，生成导出文件对象
     *
     * @param directoryPath 源文件路径
     * @return 用于导出的文件对象
     * @throws Exception 解析源文件路径出错时抛出异常
     */
    public static File getExportCsvFile(String directoryPath) throws Exception {
        File directory = new File(directoryPath);
        if (!directory.exists()) {
            throw new FileNotFoundException("【错误】尝试访问的文件夹不存在：" + directoryPath);
        }
        if (!directory.isDirectory()) {
            throw new IOException("【错误】尝试访问的资源不是文件夹，可能是个文件：" + directoryPath);
        }
        if (!directory.canRead()) {
            throw new IOException("【错误】尝试访问的文件夹不可读，请检查文件的访问权限：" + directoryPath);
        }

        String fileName = "export-" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + ".csv";
        return new File(directory, fileName);
    }

}
